<template>
  <view v-if="showDebugger" class="debug-panel">
    <view class="debug-header">
      <text class="debug-title">申请按钮调试信息</text>
      <button class="debug-toggle" @click="toggleDebugger">隐藏</button>
    </view>
    
    <view class="debug-content">
      <view class="debug-item">
        <text class="debug-label">任务状态:</text>
        <text class="debug-value">{{ taskStatus }}</text>
      </view>
      
      <view class="debug-item">
        <text class="debug-label">发布者ID:</text>
        <text class="debug-value">{{ publisherId }}</text>
      </view>
      
      <view class="debug-item">
        <text class="debug-label">当前用户ID:</text>
        <text class="debug-value">{{ currentUserId }}</text>
      </view>
      
      <view class="debug-item">
        <text class="debug-label">是否发布者:</text>
        <text class="debug-value" :class="isPublisher ? 'debug-true' : 'debug-false'">
          {{ isPublisher ? '是' : '否' }}
        </text>
      </view>
      
      <view class="debug-item">
        <text class="debug-label">状态条件:</text>
        <text class="debug-value" :class="statusCondition ? 'debug-true' : 'debug-false'">
          {{ statusCondition ? '满足' : '不满足' }}
        </text>
      </view>
      
      <view class="debug-item">
        <text class="debug-label">用户条件:</text>
        <text class="debug-value" :class="userCondition ? 'debug-true' : 'debug-false'">
          {{ userCondition ? '满足' : '不满足' }}
        </text>
      </view>
      
      <view class="debug-item">
        <text class="debug-label">申请按钮应显示:</text>
        <text class="debug-value" :class="shouldShowApply ? 'debug-true' : 'debug-false'">
          {{ shouldShowApply ? '是' : '否' }}
        </text>
      </view>
      
      <view class="debug-item">
        <text class="debug-label">实际显示状态:</text>
        <text class="debug-value" :class="actualShowStatus ? 'debug-true' : 'debug-false'">
          {{ actualShowStatus ? '显示' : '隐藏' }}
        </text>
      </view>
    </view>
    
    <view class="debug-actions">
      <button class="debug-btn" @click="refreshData">刷新数据</button>
      <button class="debug-btn" @click="forceShowApply">强制显示申请</button>
    </view>
  </view>
  
  <view v-else class="debug-toggle-btn" @click="toggleDebugger">
    <text>🐛 调试</text>
  </view>
</template>

<script>
export default {
  name: 'ApplyButtonDebugger',
  props: {
    taskData: {
      type: Object,
      default: () => ({})
    },
    currentUserId: {
      type: [String, Number],
      default: null
    },
    showApplyButton: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      showDebugger: false
    };
  },
  computed: {
    taskStatus() {
      return this.taskData?.status || '未知';
    },
    publisherId() {
      return this.taskData?.publisherId || '未知';
    },
    isPublisher() {
      return String(this.publisherId) === String(this.currentUserId);
    },
    statusCondition() {
      return this.taskStatus === '1' || this.taskStatus === '2';
    },
    userCondition() {
      return !this.isPublisher;
    },
    shouldShowApply() {
      return this.statusCondition && this.userCondition;
    },
    actualShowStatus() {
      return this.showApplyButton;
    }
  },
  methods: {
    toggleDebugger() {
      this.showDebugger = !this.showDebugger;
    },
    refreshData() {
      this.$emit('refresh-data');
    },
    forceShowApply() {
      this.$emit('force-show-apply');
    }
  }
};
</script>

<style scoped>
.debug-panel {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 500px;
  background: rgba(0, 0, 0, 0.9);
  color: white;
  border-radius: 12px;
  padding: 20px;
  z-index: 10000;
  max-height: 80vh;
  overflow-y: auto;
}

.debug-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  border-bottom: 1px solid #333;
  padding-bottom: 10px;
}

.debug-title {
  font-size: 18px;
  font-weight: bold;
}

.debug-toggle {
  background: #ff6b6b;
  color: white;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 14px;
}

.debug-content {
  margin-bottom: 15px;
}

.debug-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #333;
}

.debug-label {
  font-size: 14px;
  color: #ccc;
  flex: 1;
}

.debug-value {
  font-size: 14px;
  font-weight: bold;
  flex: 1;
  text-align: right;
}

.debug-true {
  color: #4CAF50;
}

.debug-false {
  color: #f44336;
}

.debug-actions {
  display: flex;
  gap: 10px;
}

.debug-btn {
  flex: 1;
  background: #2196F3;
  color: white;
  border: none;
  border-radius: 6px;
  padding: 10px;
  font-size: 14px;
}

.debug-toggle-btn {
  position: fixed;
  top: 20px;
  left: 20px;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12px;
  z-index: 9999;
}
</style>
